package com.kmxd.ams.core.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * 业务类型
 *
 * @author admin
 */
@Getter
@AllArgsConstructor
public enum DictValueEnum {
  /** 字符 */
  STRING(1),
  /** int */
  INTEGER(2),
  LONG(3),
  BOOLEAN(4);

  private Integer code;

  public Object convert(String value) {
    if (DictValueEnum.INTEGER.getCode().equals(this.code)) {
      return Integer.valueOf(value);
    } else if (DictValueEnum.LONG.getCode().equals(this.code)) {
      return Long.valueOf(value);
    } else if (DictValueEnum.BOOLEAN.getCode().equals(this.code)) {
      return Boolean.valueOf(value);
    }
    return value;
  }

  public static DictValueEnum getValue(int code) {
    return Arrays.stream(values())
        .filter(x -> x.code == code)
        .findAny()
        .orElse(DictValueEnum.STRING);
  }
}
